package com.xinqi.modules.chat.chat.official.client;

import com.xinqi.common.base.constants.ServiceNameConstants;
import com.xinqi.common.base.response.R;
import com.xinqi.modules.chat.chat.official.dto.req.ChatAssistantContentCreateDTO;
import com.xinqi.modules.chat.chat.official.dto.req.ChatAssistantContentMainDTO;
import com.xinqi.modules.chat.chat.official.dto.req.ChatAssistantContentTotalDTO;
import com.xinqi.modules.chat.chat.official.dto.req.ChatAssistantContentUpdateDTO;
import com.xinqi.modules.chat.chat.official.factory.ChatAssistantContentFallbackFactory;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;

import java.util.List;


/**
 * 新奇提醒消息记录表客户端
 *
 * @author: yyzhen
 * @date: 2023/05/06
 */
@FeignClient(value = ServiceNameConstants.XQ_CHAT, fallbackFactory = ChatAssistantContentFallbackFactory.class)
public interface ChatAssistantContentClient {

    /**
     * 新奇助手发送消息
     */
    @PostMapping("/inner/assistant-content/batchInsert")
    public R<Boolean> batchInsert(@Validated @RequestBody List<ChatAssistantContentCreateDTO> dto);

    /**
     * 新奇助手批量更新主体消息
     */
    @PostMapping("/inner/assistant-content/batchUpdateMain")
    public R<Boolean> batchUpdateMain(@Validated @RequestBody ChatAssistantContentMainDTO dto);

    /**
     * 新奇助手批量更新统计消息
     */
    @PostMapping("/inner/assistant-content/batchUpdateTotal")
    public R<Boolean> batchUpdateTotal(@Validated @RequestBody List<ChatAssistantContentTotalDTO> dto);

    /**
     * 新奇助手批量更新消息
     */
    @PostMapping("/inner/assistant-content/batchUpdate")
    public R<Boolean> batchUpdate(@Validated @RequestBody List<ChatAssistantContentUpdateDTO> dto);

}
